package pe.edu.unmsm.fiee.sispagos.integracion.dao;

import java.util.ArrayList;
import java.util.List;

import pe.edu.unmsm.fiee.sispagos.negocio.modelo.ChartConsolidadoCptoDTO;
import pe.edu.unmsm.fiee.sispagos.negocio.modelo.ChartTotalCptoxMesDTO;
import pe.edu.unmsm.fiee.sispagos.negocio.modelo.DigitadorVoucherDTO;
import pe.edu.unmsm.fiee.sispagos.negocio.modelo.FilaExcelRecaudacionDTO;
import pe.edu.unmsm.fiee.sispagos.negocio.modelo.VWCxCAlumnoDTO;
import pe.edu.unmsm.fiee.sispagos.negocio.modelo.VWVoucherPagoDTO;

public interface VoucherPagoDAO {

	List<VWVoucherPagoDTO> selectVwRecaudacionxAnioyMes(
			Integer anioSeleccionado, Integer mesSeleccionado);

	void insertVoucherPago(FilaExcelRecaudacionDTO filaExcelRecaudacionDTO);

	List<FilaExcelRecaudacionDTO> selectRecaudacionExcelValidasxAnioMes(
			Integer anioSeleccionado, Integer mesSeleccionado);

	List<FilaExcelRecaudacionDTO> selectRecaudacionExcelAluNoExistxAnioMes(
			Integer anioSeleccionado, Integer mesSeleccionado);

	FilaExcelRecaudacionDTO selectRecaudacionExcelxId(Integer idFilaExcelRec);

	void updateVoucherPago(FilaExcelRecaudacionDTO filaExcelEditar);

	Integer selectCountRecaudacionenAnioyMes(String anio, String mes);

	List<FilaExcelRecaudacionDTO> selectRecaudacionExcelCptoNoExistxAnioMes(
			Integer anioSeleccionado, Integer mesSeleccionado);

	List<ChartConsolidadoCptoDTO> selectConsolidadoCptosxAnioMes(
			Integer anioSeleccionado, Integer mesSeleccionado);

	Integer selectCountVoucherxNumVoucher(String numeroVoucherPago);

	ArrayList<ChartTotalCptoxMesDTO> selectTotalesCptosxMes(String cpto);

	List<VWCxCAlumnoDTO> selectVWCxcporCodigoAlumno(String codigoAlumno);

	void deleteVoucherPago(Integer idFilaExcelRec, Integer idUsuario);

	FilaExcelRecaudacionDTO selectRecaudacionExcelxNroVoucher(String numeroVoucherPago);

	List<DigitadorVoucherDTO> selectVoucherDigitadorAnioMes(
			Integer anioSeleccionado, Integer mesSeleccionado, Integer idUsuario);

}
